/*
 ============================================================================
 Name		: FM_RadioAppView.h
 Author	  : kamal
 Copyright   : Your copyright notice
 Description : Declares view class for application.
 ============================================================================
 */

#ifndef __FM_RADIOAPPVIEW_h__
#define __FM_RADIOAPPVIEW_h__

// INCLUDES
#include <coecntrl.h>

// CLASS DECLARATION
class CFM_RadioAppView: public CCoeControl
{
	public:
		// New methods

		/**
		 * NewL.
		 * Two-phased constructor.
		 * Create a CFM_RadioAppView object, which will draw itself to aRect.
		 * @param aRect The rectangle this view will be drawn to.
		 * @return a pointer to the created instance of CFM_RadioAppView.
		 */
		static CFM_RadioAppView* NewL(const TRect& aRect);

		/**
		 * NewLC.
		 * Two-phased constructor.
		 * Create a CFM_RadioAppView object, which will draw itself
		 * to aRect.
		 * @param aRect Rectangle this view will be drawn to.
		 * @return A pointer to the created instance of CFM_RadioAppView.
		 */
		static CFM_RadioAppView* NewLC(const TRect& aRect);

		/**
		 * ~CFM_RadioAppView
		 * Virtual Destructor.
		 */
		virtual ~CFM_RadioAppView();

	public:
		// Functions from base classes

		/**
		 * From CCoeControl, Draw
		 * Draw this CFM_RadioAppView to the screen.
		 * @param aRect the rectangle of this view that needs updating
		 */
		void Draw(const TRect& aRect) const;

		/**
		 * From CoeControl, SizeChanged.
		 * Called by framework when the view size is changed.
		 */
		virtual void SizeChanged();

		/**
		 * From CoeControl, HandlePointerEventL.
		 * Called by framework when a pointer touch event occurs.
		 * Note: although this method is compatible with earlier SDKs, 
		 * it will not be called in SDKs without Touch support.
		 * @param aPointerEvent the information about this event
		 */
		virtual void HandlePointerEventL(const TPointerEvent& aPointerEvent);
		
	public:
		static TInt Period(TAny * aPtr);
		
		
	private:
		void doPeriod();

	private:
		// Constructors

		/**
		 * ConstructL
		 * 2nd phase constructor.
		 * Perform the second phase construction of a
		 * CFM_RadioAppView object.
		 * @param aRect The rectangle this view will be drawn to.
		 */
		void ConstructL(const TRect& aRect);

		/**
		 * CFM_RadioAppView.
		 * C++ default constructor.
		 */
		CFM_RadioAppView();
		TInt iStatusMessageHeight ;
		TInt iStatusMessageDescent ;
		const CFont* iMyFont;
		CPeriodic* iFrequencyDrawingPositionTimer;
		TInt iAlphaValue;
		TInt iXCordinates;
		TInt iYCordinates;
		TInt iPixel;


};

#endif // __FM_RADIOAPPVIEW_h__
// End of File
